File এবং Directory Read/Write Operations

Computer Programming - নোড জেএস (Node.js) - File System Operations (ফাইল সিস্টেম অপারেশন)
242

Node.js এর fs (File System) মডিউল ব্যবহার করে ফাইল এবং ডিরেক্টরি সম্পর্কিত বিভিন্ন অপারেশন করা যায়, যেমন ফাইল পড়া, লেখা, মুছে ফেলা, ডিরেক্টরি তৈরি করা, এবং আরও অনেক কিছু। এই মডিউলটি সিনক্রোনাস (blocking) এবং আসিনক্রোনাস (non-blocking) ফাংশনালিটি সরবরাহ করে, যার মাধ্যমে আপনি ইফেক্টিভলি ফাইল অপারেশন করতে পারেন।


১. ফাইল পড়া (Reading Files)

Node.js এ ফাইল পড়ার জন্য fs.readFile() এবং fs.readFileSync() দুটি পদ্ধতি ব্যবহার করা যেতে পারে। readFile() আসিনক্রোনাস, এবং readFileSync() সিনক্রোনাস।

a. Asynchronous File Read (আসিনক্রোনাস ফাইল পড়া)

const fs = require('fs');

// ফাইল পড়া (Asynchronous)
fs.readFile('example.txt', 'utf8', (err, data) => {
  if (err) {
    console.log('Error reading file:', err);
    return;
  }
  console.log('File content:', data);
});

এখানে, fs.readFile() ফাংশনটি আসিনক্রোনাস, তাই এটি একটি কলব্যাক ফাংশন গ্রহণ করে যা ফাইল পড়া সম্পন্ন হওয়ার পর চালানো হয়।

b. Synchronous File Read (সিনক্রোনাস ফাইল পড়া)

const fs = require('fs');

// ফাইল পড়া (Synchronous)
try {
  const data = fs.readFileSync('example.txt', 'utf8');
  console.log('File content:', data);
} catch (err) {
  console.log('Error reading file:', err);
}

এখানে, fs.readFileSync() ফাংশনটি সিনক্রোনাস, তাই এটি ফাইলের ডেটা পড়ে এবং অবরুদ্ধ (blocking) অবস্থায় অপেক্ষা করে।


২. ফাইল লেখা (Writing to Files)

Node.js এ ফাইল লেখার জন্য fs.writeFile() এবং fs.writeFileSync() পদ্ধতি ব্যবহার করা হয়। writeFile() আসিনক্রোনাস, এবং writeFileSync() সিনক্রোনাস।

a. Asynchronous File Write (আসিনক্রোনাস ফাইল লেখা)

const fs = require('fs');

// ফাইল লেখা (Asynchronous)
const content = 'Hello, this is some text!';

fs.writeFile('output.txt', content, (err) => {
  if (err) {
    console.log('Error writing to file:', err);
    return;
  }
  console.log('File has been written!');
});

এখানে, fs.writeFile() ফাংশনটি আসিনক্রোনাস, যার ফলে এটি দ্রুত ফলাফল প্রদান করে এবং অন্য কোড চলতে থাকে।

b. Synchronous File Write (সিনক্রোনাস ফাইল লেখা)

const fs = require('fs');

// ফাইল লেখা (Synchronous)
const content = 'This is written synchronously!';

try {
  fs.writeFileSync('outputSync.txt', content);
  console.log('File has been written synchronously!');
} catch (err) {
  console.log('Error writing to file:', err);
}

এখানে, fs.writeFileSync() ফাংশনটি সিনক্রোনাস, তাই এটি লেখার কাজ সম্পন্ন হওয়া পর্যন্ত পরবর্তী কোড চলতে পারে না।


৩. ফাইল মুছে ফেলা (Deleting Files)

Node.js এ ফাইল মুছে ফেলার জন্য fs.unlink() এবং fs.unlinkSync() পদ্ধতি ব্যবহার করা হয়। unlink() আসিনক্রোনাস, এবং unlinkSync() সিনক্রোনাস।

a. Asynchronous File Deletion (আসিনক্রোনাস ফাইল মুছে ফেলা)

const fs = require('fs');

// ফাইল মুছে ফেলা (Asynchronous)
fs.unlink('output.txt', (err) => {
  if (err) {
    console.log('Error deleting file:', err);
    return;
  }
  console.log('File has been deleted!');
});

b. Synchronous File Deletion (সিনক্রোনাস ফাইল মুছে ফেলা)

const fs = require('fs');

// ফাইল মুছে ফেলা (Synchronous)
try {
  fs.unlinkSync('outputSync.txt');
  console.log('File has been deleted synchronously!');
} catch (err) {
  console.log('Error deleting file:', err);
}

৪. ডিরেক্টরি তৈরি (Creating Directories)

Node.js এ ডিরেক্টরি তৈরি করতে fs.mkdir() এবং fs.mkdirSync() পদ্ধতি ব্যবহার করা হয়।

a. Asynchronous Directory Creation (আসিনক্রোনাস ডিরেক্টরি তৈরি)

const fs = require('fs');

// ডিরেক্টরি তৈরি (Asynchronous)
fs.mkdir('newDir', { recursive: true }, (err) => {
  if (err) {
    console.log('Error creating directory:', err);
    return;
  }
  console.log('Directory has been created!');
});

b. Synchronous Directory Creation (সিনক্রোনাস ডিরেক্টরি তৈরি)

const fs = require('fs');

// ডিরেক্টরি তৈরি (Synchronous)
try {
  fs.mkdirSync('newDirSync', { recursive: true });
  console.log('Directory has been created synchronously!');
} catch (err) {
  console.log('Error creating directory:', err);
}

এখানে, { recursive: true } অপশনটি ব্যবহার করা হয়েছে যাতে এটি nested ডিরেক্টরি তৈরি করতে পারে।


৫. ডিরেক্টরি পড়া (Reading Directories)

ডিরেক্টরি থেকে ফাইল বা সাব-ডিরেক্টরি পড়তে fs.readdir() এবং fs.readdirSync() পদ্ধতি ব্যবহার করা হয়।

a. Asynchronous Directory Read (আসিনক্রোনাস ডিরেক্টরি পড়া)

const fs = require('fs');

// ডিরেক্টরি পড়া (Asynchronous)
fs.readdir('someDirectory', (err, files) => {
  if (err) {
    console.log('Error reading directory:', err);
    return;
  }
  console.log('Files in directory:', files);
});

b. Synchronous Directory Read (সিনক্রোনাস ডিরেক্টরি পড়া)

const fs = require('fs');

// ডিরেক্টরি পড়া (Synchronous)
try {
  const files = fs.readdirSync('someDirectory');
  console.log('Files in directory:', files);
} catch (err) {
  console.log('Error reading directory:', err);
}

সারাংশ

Node.js এর fs মডিউল ফাইল এবং ডিরেক্টরি সম্পর্কিত অপারেশনগুলো খুব সহজে পরিচালনা করতে সক্ষম। আপনি ফাইল পড়া, ফাইল লেখা, ফাইল মুছে ফেলা, ডিরেক্টরি তৈরি এবং পড়া সবকিছুই সিংক্রোনাস ও আসিঙ্ক্রোনাস ফাংশনালিটির মাধ্যমে পরিচালনা করতে পারেন। আসিনক্রোনাস অপারেশনগুলি পারফরম্যান্সের জন্য অধিক কার্যকর, কারণ এগুলি অন্য কাজগুলোর সাথে সমান্তরালে চলতে পারে।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...